package d7_resource;

import java.io.*;

/**
 * 2024/6/14 Cjj 掌握释放资源方式  11:49
 */
public class Test3 {
    public static void main(String[] args) {

        try {
            //1.创建一个字节输入流管道与源文件接通
            InputStream is = new FileInputStream("D:file-io\\src\\main\\test\\abab.txt");
            //2.创建一个字节输出流管道与目标文件接通
            OutputStream os = new FileOutputStream("D:file-io\\src\\main\\test\\ababcopy.txt");

            //什么是资源? 资源都是会实现AutoCloseable接口。资源都会有一个close方法,并且资源放到这里后
            //用完之后,会被自动调用close方法完成资源的释放操作
            MyConnection conn = new MyConnection();
            //3.创建一个字节数组,负责转移字节数据
            byte[] buffer = new byte[1024];
            //4.从字节输入流中读取字节数据,写出去到字节输出流中。读多少写出去多少
            int len;
            while ((len = is.read(buffer)) != -1) {
                os.write(buffer, 0, len);
            }
            System.out.println(conn);
            System.out.println("复制完成");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
